Networks facilitate communication between clients using network elements, which may be arranged in clusters. Conventional methods for handling overload in a network element include ignoring the possibility of overload or discarding requests from a client when the network element becomes full.
Another conventional method includes balancing the traffic load between network elements in the cluster, which causes the elements in the cluster to approach overload at approximately the same time. When the element reaches overload, conventional methods include returning a pushback response to be handled by the previous element. The pushback message results in the previous element in the network not sending requests to the overloaded element for a period of time. During this time, traffic diverts to other elements in the cluster. Because the other elements in the cluster continue handling their same traffic load, the additional traffic from the overloaded element causes other elements in the cluster to go into an overloaded state also. Consequently, a portion of the network goes into an overloaded state, which prevents the flow of traffic between clients.